package com.dong.HashMap.arithemtic;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;

/*
给定两个数组 nums1 和 nums2 ，
返回它们的交集。输出结果中的每个元素一定是唯一 的。
我们可以不考虑输出结果的顺序 。
输入：nums1 = [1,2,2,1,5,4], nums2 = [2,2,4]
输出：[2]
 */
public class Demo2 {
    public static void main(String[] args) {
        int nums1[] = {1,2,2,1,5,4};
        int nums2[] = {2,2,5};
        int[] intersection = intersection(nums1, nums2);
        System.out.println(Arrays.toString(intersection));
    }

    public static int[] intersection(int[] nums1, int[] nums2){
        HashSet<Integer> set1 = new HashSet<>();
        HashSet<Integer> set2 = new HashSet<>();

        for (int i:nums1){
            set1.add(i);
        }
        //这步很重要
        for (int j:nums2){
            if (set1.contains(j)){
                set2.add(j);
            }
        }
        int nums3[] =new int[set2.size()];
        int k = 0;
        for (int m:set2){
            nums3[k++]=m;
        }
        return nums3;



    }
}
